public class Main {
    public static void main(String[] args) {
       // 顺序表
        // 优点：
        // 当给定下标的时候，查找速度非常快。适合给定下标的查找。O(1)
        // 缺点
        // 插入：必须得挪动元素，然后才能插入。O-》
        // 删除：必须得挪动元素，然后才能删除。O-》
        // 每次扩容也是浪费资源的。

        // 为了解决顺序表存在的缺点
        // 呢就用链式存储 ：链表。
        // 特点就是随用随取 ， 也有缺点

        //****LinkList和链表****
        //***链表***
        // 将数据以链式的方式来存储
        // 以节点（结点）来链接的

        //两个域，一个val域，一个next域，分别用来存储 数值 和 下一个数据的地址

        //  ______
        // | val  |--> 数值 （存储数据）
        // |______|
        // | next |--> 下一个数据的地址 （存储下一个节点的地址，最后一个节点存放为null）
        // |______|

        // 若对其进行操作需要先拿到首节点的地址

        // 有这几类链表：
        // 1.单向 2.双向 3.带头 4.不带头 5.循环 6.非循环
        // 将其经行排列组合的话一共有8种
        // 如下： 1 3 5
        //       1 3 6
        //       1 4 5
        //       1 4 6
        // 同理双向的也有四种：2 3 5
        //                 2 3 6
        //                 2 4 5
        //                 2 4 6
        // 共八种
        // 接下来要学习的是
        // （单向 不带头 非循环）  和  （双向 不带头 非循环）  这两种
      //  因为这个是笔试和面试都是这个接口    这个是集合类底层这样操作的

        // 特点是：物理地址不一定是连续的，逻辑上是连续的
        // 而顺序表的特点是：物理上和逻辑上都是连续的

    }
}